package co.yixiang.config.thread;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * 线程池配置属性类
 */
@Data
@Component
@ConfigurationProperties(prefix = "task.pool")
public class AsyncTaskProperties {

    /** 线程池的核心线程数，保持活跃的最小线程数。 */
    private int corePoolSize;

    /** 线程池允许创建的最大线程数。 */
    private int maxPoolSize;

    /** 线程空闲时的存活时间（秒），超过此时间且线程数超过核心数时会被回收。 */
    private int keepAliveSeconds;

    /** 任务队列的最大容量，当队列满时会尝试创建新线程。 */
    private int queueCapacity;
}
